home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CreatingGames / Utilities / Misc / GMS / GMSDev / Includes / system / modules.i < prev    next >
Encoding:
Text File  |  1997-10-17  |  2.8 KB  |  97 lines

  1.     IFND    SYSTEM_MODULES_I
  2. SYSTEM_MODULES_I SET  1
  3.  
  4. **
  5. **  $VER: modules.i V0.9B
  6. **
  7. **  (C) Copyright 1996-1997 DreamWorld Productions.
  8. **      All Rights Reserved.
  9. **
  10.  
  11.     IFND    DPKERNEL_I
  12.     include    'games/dpkernel.i'
  13.     ENDC
  14.  
  15. ******************************************************************************
  16. * Module Control Structure.
  17.  
  18. MODVERSION  = 1
  19. TAGS_MODULE = ((ID_SPCTAGS<<16)|ID_MODULE)
  20.  
  21.    STRUCTURE    MD,HEAD_SIZEOF    ;Use standard header.
  22.     WORD    MOD_Number        ;Number of the associated module.
  23.     APTR    MOD_ModBase       ;Function jump table.
  24.     APTR    MOD_empSegment    ;
  25.     WORD    MOD_TableType     ;Type of table to generate.
  26.     WORD    MOD_empty         ;
  27.     LONG    MOD_emp           ;
  28.     LONG    MOD_Version       ;Version of the module.
  29.     LONG    MOD_Revision      ;Revision of the module.
  30.     APTR    MOD_Table         ;Pointer to start of table.
  31.     APTR    MOD_Name          ;Name of the module.
  32.     LABEL    MOD_SIZEOF
  33.  
  34. MODA_Number    = (TWORD|MOD_Number)
  35. MODA_TableType = (TWORD|MOD_TableType)
  36. MODA_Version   = (TLONG|MOD_Version)
  37. MODA_Revision  = (TLONG|MOD_Revision)
  38. MODA_Name      = (TAPTR|MOD_Name)
  39.  
  40. JMP_LVO    =  1  ;Default.
  41. JMP_AMIGAE =  2  ;Amiga E jump table.
  42.  
  43. ******************************************************************************
  44. * Module file header.
  45.  
  46. MODULE_HEADER_V1 = $4D4F4401
  47.  
  48.     STRUCTURE   MT1,0
  49.     LONG    MT_Version        ;Version/ID header.
  50.     APTR    MT_Init           ;Init()
  51.     APTR    MT_Close          ;Close()
  52.     APTR    MT_Expunge        ;Expunge()
  53.     WORD    MT_TableType      ;Type of function table to generate.
  54.     WORD    MT_OpenCount      ;Amount of programs with this module open.
  55.     APTR    MT_Author         ;Author of the module.
  56.     APTR    MT_FuncList       ;Pointer to function list.
  57.     LONG    MT_CPUNumber      ;Type of CPU this module is compiled for.
  58.     LONG    MT_ModVersion     ;Version of this module.
  59.     LONG    MT_ModRevision    ;Revision of this module.
  60.     LONG    MT_MinDPKVersion  ;Minimum DPK version required.
  61.     LONG    MT_MinDPKRevision ;Minimum DPK revision required.
  62.     LONG    MT_Open           ;Open()
  63.     APTR    MT_ModBase        ;Generated function base for given CPU.
  64.     APTR    MT_Copyright      ;Copyright details.
  65.     APTR    MT_Date           ;Date of compilation.
  66.     APTR    MT_Name           ;Name of the module.
  67.     WORD    MT_DPKTable       ;Type of function table to get from DPK.
  68.     WORD    MT_emp            ;Reserved.
  69.  
  70. ******************************************************************************
  71. * Private structure.
  72.  
  73.      STRUCTURE    ME1,0
  74.     APTR    ME_Next        ;Next module in list.
  75.     APTR    ME_Prev        ;Previous module in list.
  76.     APTR    ME_Segment     ;Module segment.
  77.     APTR    ME_Header      ;Pointer to module header.
  78.     WORD    ME_ModuleID    ;Module ID.
  79.     WORD    ME_empty       ;Reserved.
  80.     APTR    ME_Name        ;Name of the module.
  81.  
  82. FUNC    MACRO
  83.     dc.w    \1
  84.     dc.l    \2
  85.     ENDM
  86.  
  87. ******************************************************************************
  88.  
  89. CPU_68000 = 1
  90. CPU_68010 = 2
  91. CPU_68020 = 3
  92. CPU_68030 = 4
  93. CPU_68040 = 5
  94. CPU_68060 = 6
  95.  
  96.   ENDC    ;SYSTEM_MODULES_I
  97.